package beans;

import gestion.GestionnaireRemote;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;

@ManagedBean(name="mainBean")
@RequestScoped
public class MainBean {
    
    @EJB
    private GestionnaireRemote gestionnaire;
    
    @ManagedProperty(value = "#{sessionBean}")
    private SessionBean sessionBean;
    
    private String page;
    
    private String message;
    
    public final String SUCCESS = "success";

    
    public String getPage() {
                
        if(page == null)
            return "default";       
        
        return page;
    }
    
    public void setPage(String page) {
        this.page = page;
    }
    
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
    
    public GestionnaireRemote getGestionnaire() {
        return gestionnaire;
    }
    
    public void setSessionBean(SessionBean sessionBean) {
        this.sessionBean = sessionBean;
    }
    

    public void setPageByMethodName()
    {
        //Si par exemple on est dans la méthode listeClients(), on aura page = "listeClients";
        page = Thread.currentThread().getStackTrace()[2].getMethodName();
        sessionBean.setMessage(null); //il est @SessionScoped donc il faut le virer manuellement
        
        //return SUCCESS;
    }
    
    public void listeClients()
    {
        setPageByMethodName();
    }
    
    public void creerClientForm()
    {
        setPageByMethodName();
    }
    
    public void listeCategories()
    {
        setPageByMethodName();
    }
    
    public void creerCategorieForm()
    {
        setPageByMethodName();
    }
    
    public void listeProduits()
    {
        setPageByMethodName();
    }
    
    public void creerProduitForm()
    {
        setPageByMethodName();
    }
    
    public void creerCommandeForm()
    {
        setPageByMethodName();
    }
    
    public void listeCommandesClient()
    {
        setPageByMethodName();
    }
    
    public void listeCommandes()
    {
        setPageByMethodName();
    }
        
}
